
/**
 * 表单
 * Created by quxiangqian on 2018/6/5.
 */
export class Form extends React.Component {
   state={
     load:false
   }
    /**
     * 获取数据
     */
    getData=()=>{
        let data={};
        for(let key in this.props.dataSource){
            data[key]=this.props.dataSource[key].value+"";
        }
        return data;
    }
    /**
     * 设置数据
     * @param json
     */
    setData=(json)=>{
        for(let key in json){
            this.props.dataSource[key].value=json[key]+"";
        }
        console.log(this.props.dataSource);
    }
    /**
     * 验证
     */
    isValiData=()=>{
       let bl=true
       for(let key in this.props.dataSource){
          let b= this.valiItem(this.props.dataSource[key])
           if(b===false){
              bl=false;
           }
       }
       return bl;
    }

    /**
     * 验证项
     * @param item
     * @returns {*}
     */
    valiItem=(item)=>{
        if(item.validate==="null"){
            if(item.value===""){

                if(item.showError){
                    item.showError("不能为空");
                }
                return false;
            }else{
                if(item.default){
                    item.default();
                };
                return true;
            }
        }
        if(item.func){
            return item.func(item);
        }
    }


    render(){
       console.log("渲染")
        return (
            <form>{React.Children.map(this.props.children,(child)=>{
                child.props.dataSource=this.props.dataSource;
                return child;
            })}</form>
        )
    }
}
